package cn.whuc.spark.operator

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo_map {
  def main(args: Array[String]): Unit = {
    // 1 创建sparkContext
    val sc: SparkContext = new SparkContext(
      new SparkConf()
        .setMaster("local[*]")
        .setAppName(" ")
    )

    // 2 编写代码
    val rdd1: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4, 5), 2)

    // map算子实现的功能是rdd中的每一个元素 按传入逻辑进行映射
    val rdd2: RDD[Int] = rdd1.map((elem) => {
      println("~~~~~")
      elem * 2
    })

    // 带分区效果

    // 看分区
    rdd2.saveAsTextFile("output01")

    // 3 关闭上下文对象
    sc.stop()
  }
}
